home *** CD-ROM | disk | FTP | other *** search
- import java.awt.image.RGBImageFilter;
-
- class HighlightFilter extends RGBImageFilter {
- boolean brighter;
- int percent;
-
- public HighlightFilter(boolean b, int p) {
- this.brighter = b;
- this.percent = p;
- super.canFilterIndexColorModel = true;
- }
-
- public int filterRGB(int x, int y, int rgb) {
- int r = rgb >> 16 & 255;
- int g = rgb >> 8 & 255;
- int b = rgb & 255;
- if (this.brighter) {
- r = 255 - (255 - r) * (100 - this.percent) / 100;
- g = 255 - (255 - g) * (100 - this.percent) / 100;
- b = 255 - (255 - b) * (100 - this.percent) / 100;
- } else {
- r = r * (100 - this.percent) / 100;
- g = g * (100 - this.percent) / 100;
- b = b * (100 - this.percent) / 100;
- }
-
- if (r < 0) {
- r = 0;
- }
-
- if (r > 255) {
- r = 255;
- }
-
- if (g < 0) {
- g = 0;
- }
-
- if (g > 255) {
- g = 255;
- }
-
- if (b < 0) {
- b = 0;
- }
-
- if (b > 255) {
- b = 255;
- }
-
- return rgb & -16777216 | r << 16 | g << 8 | b;
- }
- }
-